from secret import flag
from Crypto.Util.number import long_to_bytes as l2b, bytes_to_long as b2l
from Crypto.Util.number import *


l = len(flag)
flag1 = b2l(flag[:l//2])
flag2 = b2l(flag[l//2:])

a, b = getPrime(1024), getPrime(1024)
C = a * b

c1 = flag1 ^ a
c2 = pow(flag2, 2, b)

print('c1 ', c1)
print('c2 ', c2)
print('C  ', C )

# c1  157449651601296649483325075658493791532881002698092279048459036450493413930912551935558039389463125381045647124014886862134739755203180184194019765992485694977941907702258231680934717838655651039985715667003505474247424715675773658619826217306296258884284231222755654537083523371771934823858161680459104540128
# c2  5095344477505153532473569738590974303255623645675497803556252219381937922039495544806509321
# C   16327399979538938065425627121938710541904767036111192807118978185802672839745807778511266965243133039287025116055341375973910685030924594006782621354835306582567901820541591246527468773161892553399248423766327141848489769447427618683164696928318358451254533747280041943283689587732331803718760505732388699649416666565690790691997037919051864209139757408059576578992675267907496436994991887557805956505940931238921997416398850919916421818718215169399203420307617093246406851885298278113980167862962784945591737075670993391568798856498520833705820403718410019375841238254740901259220548035942626718916000525487869227429

